var gulp  = require("gulp")//引入安装的gulp模块
var browserSync=require('browser-sync').create();
var reload=function(){browserSync.reload()},//自动刷新
concat=require('gulp-concat'),
jshint=require('gulp-jshint'),
uglify=require("gulp-uglify"),//创建js混淆压缩 模块
sass=require("gulp-sass");



/*//创建任务，如果任务为default的话，可以缺省不写（执行gulp default或者gulp都可）
gulp.task('default',['a','b'], function() {

  // 将你的默认的任务代码放在这
  console.log("default")
});
gulp.task('a', function() {
  console.log("a任务")
});
gulp.task('b', function() {
  console.log("b任务")
});
*/
//创建静态服务，然后浏览器同步
gulp.task("server",function(){
	browserSync.init({
	    server: {
	        //网站根目录
	        baseDir: "./src/",
	        //默认文件
	        index: "index.html"
	    },
	    open: "external",//external 内网访问 local 本地访问（默认本地访问）
	    port: 9080
	});
	//  **/*  包含目录下面文件夹下的文件   *不包含
    gulp.watch("./src/**/*.html").on('change', reload);
    gulp.watch("./src/css/*.css").on('change', reload);

})

//监听文件修改的任务
gulp.task("watchfile",function(){
	var watcher = gulp.watch('./src/css/*.css');
	watcher.on('change', function(event) {
	  console.log('css ' + event.path + ' was ' + event.type + ', 执行任务...');
	});
})

//复制单个文件
gulp.task("copy",function(){
	gulp.src('./src/index.html').pipe(gulp.dest("./dist"))
})

//复制多个文件
gulp.task("copyfiles",function(){
	gulp.src('./src/*.html').pipe(gulp.dest("./dist"))
})

//压缩js文件
gulp.task("uglifyjs",function(){
	gulp.src(['./src/js/a.js','./src/js/b.js']).pipe(uglify()).pipe(gulp.dest('./dist/js'));
})

//合并js文件
gulp.task("concatjs",function(){
	gulp.src(['./src/js/a.js','./src/js/b.js']).pipe(concat('index.min.js')).pipe(gulp.dest('./dist/js'));
})

//合并，并压缩js文件
gulp.task("js",function(){
	gulp.src(['./src/js/a.js','./src/js/b.js'])
	.pipe(uglify()).pipe(concat('index.min.js'))
	.pipe(gulp.dest('./dist/js'));
})

//语法检测
gulp.task("jshint",function(){
	gulp.src('./src/js/*.js').pipe(jshint())
		.pipe(jshint.reporter('default'));
})

//sass
gulp.task('sass', function () {
  return gulp.src('./src/**/*.scss')
     .pipe(sass({outputStyle: 'compressed'}).on('error', sass.logError))
     .pipe(gulp.dest('./dist'));
});
gulp.task('default',['sass','jshint','js','server'], function () {
  console.log("任务已经执行，在9080端口")
});